package com.itheima.reggie.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.itheima.reggie.common.Result;
import com.itheima.reggie.entity.User;
import com.itheima.reggie.mapper.UserMapper;
import com.itheima.reggie.service.UserService;
import org.springframework.stereotype.Service;

import java.util.Map;

@Service
public class UserServiceImpl extends ServiceImpl<UserMapper,User> implements UserService{
    /**
     * 验证码登录时：
     * 1.根据用户的手机号，查询数据库 看用户是否存在
     * 2.存在，不做操作
     * 3.不存在，直接插入到数据库中
     * @param map
     */
    @Override
    public Result<User> login(Map map) {



        String phone = (String) map.get("phone");
        //1.根据用户的手机号，查询数据库 看用户是否存在
        LambdaQueryWrapper<User> wrapper =new LambdaQueryWrapper<User>();
        wrapper.eq(User::getPhone,phone);
        User dbUser = this.getOne(wrapper);

        //用户不存在，直接创建一个新的用户
        if (ObjectUtils.isEmpty(dbUser)){
            //插入操作
            User user =new User();
            user.setPhone(phone);
            this.saveOrUpdate(user);
            user.setIdNumber("");
            return Result.success(user);
        }


        dbUser.setIdNumber("");
        return Result.success(dbUser);

    }
}